using System;
using System.Collections.Generic;
using Clandestine.Base;

namespace Clandestine.Input
{
	public abstract class JoystickDevice : IButtonDevice
	{
		public abstract int ButtonCount { get; }
		public abstract event internalButtonEvent ButtonPressed;
		public abstract event internalButtonEvent ButtonReleased;
	
		protected const float DeadZone = 0.2f; // percentage
	
		public JoystickDevice ()
		{
		}
		
		public abstract bool IsButtonPressed(int n);
		public abstract void ProcessEvents();
	}
}

